/*********************
 * 代码名称：ahac 算法 第二章 P18
 * 功能实现：队列
 * 代码提供：tiaya@qq.com
 * 编写时间：2022年 4月 4日
 **********************/
#include <iostream>
#include <cstdlib>

using namespace std;

int main() {
    /***************************
    QQ号是63175924，解密规则，每次删除头一个数字，
    然后将第二个数字放到末尾。直到剩下最后1个数字，
    并把最后一个也删除。请输出这个数字
    ***************************/
    /*1、变量定义*/
    int q[102] = {0, 6, 3, 1, 7, 5, 8, 9, 2, 4};
    int i, head, tail;

    //初始化队列
    head = 1;
    tail = 10;  //指向队列末尾的后一个位置

    while(head < tail) {
        //输出队列头，相当于删除第一个数字
        cout << q[head] <<" ";
        head ++;    //相当于队列指针后移一个，指向第二个数字

        //先将新队列的元素添加到队尾（把第二个数字添加到队列最后）
        q[tail] = q[head];
        tail ++;    //队列指针后移动一个位置，指向当前位置后后一个位置

        //再将队列出队
        head ++;    //出队一个数字
    }

    getchar(); getchar();
    //system("pause");

    return 0;
}
